<template>
    <div>
        航班时间一共花费{{ duration }}
    </div>
</template>

<script>
    export default {
        data() {
            return {
                data: {
                    dep_time: "16:30",
                    arr_time: "00:45",
                },
            };
        },
        computed: {
            duration() {
                // 切割时间字符串
                const arrayDepTime = this.data.dep_time.split(":");
                const arrayArrTime = this.data.arr_time.split(":");
                // ['20','30']
                // 算出两个的总分钟数
                const depMin =
                    Number(arrayDepTime[0]) * 60 + Number(arrayDepTime[1]);
                const arrMin =
                    Number(arrayArrTime[0]) * 60 + Number(arrayArrTime[1]);

                // 相减
                let duration = arrMin - depMin;

                // 如果跨了一天经过零时的时候数据会变成负数, 加上一天的分钟数即可
                if (duration < 0) {
                    duration += 24 * 60;
                }

                // 最终变回小时分钟格式再返回即可
                return Math.floor(duration / 60) + "时" + (duration % 60) + "分";
            },
        },
    };
</script>

<style>
</style>